//package Hudi_SelfStudy
//
//import org.apache.spark.sql.SparkSession
//import org.apache.spark.sql.{Dataset, Row, SparkSession}
//import org.apache.hudi.DataSourceReadOptions._
//import org.apache.hudi.DataSourceWriteOptions._
//import org.apache.hudi.QuickstartUtils.getQuickstartWriteConfigs
//import org.apache.hudi.config.HoodieWriteConfig._
//import org.apache.hudi.org.apache.hbase.thirdparty.io.netty.handler.codec.smtp.SmtpRequests.data
//
//object 删除数据 {
//  def main(args: Array[String]): Unit = {

//    删除数据


//    //  准备sparksql集成hudi的环境
//    val spark = SparkSession.builder()
//      .master("local[*]")
//      .appName("查看数据")
//      .config("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
//      .config("spark.sql.extensions", "org.apache.spark.sql.hudi.HoodieSparkSessionExtension")
//      .enableHiveSupport()
//      .getOrCreate()
//
//    //  数据保存的路径
//    val data_path="hdfs://192.168.40.110:9000/user/hudi/hudi_trips_cow/"
//
//    //  拿到数据并创建临时表
//    val data=spark.read.format("hudi")
//      .load(data_path)
//      .createOrReplaceTempView("temp01")
//
//    //  获取数据的行数
//     spark.sql("select uuid,partitionpath from temp01 temp01").count()
//
//    //    取其中两条数据用来删除
//    val ds=spark.sql("select uuid,partitionpath from temp01").limit(2)
//    //   将准备删除的2条数据构建df
//     val delete_data= dataGen().generateDeletes(ds.collectAsList())
//     val df=spark.read.json(spark.sparkContext.parallelize(delete_data,2))
//    //  执行删除
//    df.write.format("hudi").
//      options(getQuickstartWriteConfigs).
//      option(OPERATION_OPT_KEY, "delete").
//      option(PRECOMBINE_FIELD_OPT_KEY, "ts").
//      option(RECORDKEY_FIELD_OPT_KEY, "uuid").
//      option(PARTITIONPATH_FIELD_OPT_KEY, "partitionpath").
//      option(TABLE_NAME, tableName).
//      mode("append").
//      save(basePath)
//
//
//
//
//    spark.close()
//  }
//
//}
